/*
 * @Copyright: 2017 www.yyfax.com Inc. All rights reserved.
 */
package com.yyfax.pay.third.service;

import com.yyfax.framework.model.Content;
import com.yyfax.framework.model.Params;
import com.yyfax.pay.third.model.to.yyfax.*;

/**
 * 接口转换器
 * 
 * @author jiangmy
 * @date 2017-04-11 10:38:30
 * @since v1.0.0
 */
public interface TransformService {

	public <P extends Params> P transformQueryPayOrderParams(QueryPayOrderYYParams req) throws Exception;

	public <C extends Content> QueryPayOrderYYContent transformQueryPayOrderContent(C rsp) throws Exception;

	public <P extends Params> P transformAuthenticationParams(AuthenticationYYParams req) throws Exception;

	public <C extends Content> AuthenticationYYContent transformAuthenticationContent(C rsp) throws Exception;

	public <P extends Params> P transformBatchPayoutOrderCheckParams(QueryBatchPayoutOrderCheckYYParams req) throws Exception;

	public <C extends Content> QueryBatchPayoutOrderCheckYYContent transformBatchPayoutOrderCheckContent(C rsp) throws Exception;

	public <P extends Params> P transformBatchPayoutOrderParams(PayoutBatchOrderYYParams req) throws Exception;

	public <C extends Content> PayoutBatchOrderYYContent transformBatchPayoutOrderContent(C rsp) throws Exception;

	public <P extends Params> P transformPayOrdeParams(PayOrderYYParams req) throws Exception;

	public <C extends Content> PayOrderYYContent transformPayOrdeContent(C rsp) throws Exception;

	public <P extends Params> P transformPayoutOrderParams(PayoutOrderYYParams rsp) throws Exception;

	public <C extends Content> PayoutOrderYYContent transformPayoutOrderContent(C rsp) throws Exception;

	public <P extends Params> P transformQueryBatchPayoutOrderParams(QueryBatchPayoutOrderYYParams rsp) throws Exception;

	public <C extends Content> QueryBatchPayoutOrderYYContent transformQueryBatchPayoutOrderContent(C req) throws Exception;

	public <P extends Params> P transformSendAuthenticationVerifyCodeParams(SendAuthenticationVerifyCodeYYParams rsp) throws Exception;

	public <C extends Content> SendAuthenticationVerifyCodeYYContent transformSendAuthenticationVerifyCodeContent(C req) throws Exception;

	public <P extends Params> P transformSendVerifyCodeParams(SendVerifyCodeYYParams rsp) throws Exception;

	public <C extends Content> SendVerifyCodeYYContent transformSendVerifyCodeContent(C req) throws Exception;

	public <P> P transformQueryCardBinParams(QueryCardBinParams rsp) throws Exception;

	public <C> QueryCardBinContent transformQueryCardBinContent(C req) throws Exception;

	public <P extends Params> P transformQueryPayOutOrderParams(QueryPayoutOrderYYParams queryPayOutOrderYYParams) throws Exception;

	public <C extends Content> QueryPayoutOrderYYContent transformQueryPayOutOrderContent(C rsp) throws Exception;

	public <P extends Params> P transformWithoutVerifyParams(WithoutVerifyYYParams withoutVerifyYYParams) throws Exception;

	public <C extends Content> WithoutVerifyYYContent transformWithoutVerifyContent(C req) throws Exception;
}
